--- title: "L1-008 求整数段和" created: 2025-11-28 tags: - 算法 --- # L1-008 求整数段和 ## 题目 [L1-008 求整数段和](https://pintia.cn/problem-sets/994805046380707840/exam/problems/type/7?problemSetProblemId=994805135224455168&page=0) ![[image-445525b2.png]] ## 思路分析 ```cpp printf 用法:printf("format specifier", value1, value2, ...); 目的:根据指定的格式输出数据。printf是C语言中的标准输出函数,但在C++中仍然可用。 场景:当需要精确控制输出格式,比如指定浮点数的精度,或者输出的宽度时。 优点: - 高度格式化的输出。 - 在某些情况下,性能优于`cout`。 缺点: - 不是类型安全的,错误的格式说明符可能导致运行时错误 常用格式控制 printf非常强大,支持多种格式控制符,可以精确地控制输出格式。 - `%d`:输出十进制整数。 - `%u`:输出无符号十进制整数。 - `%f`:输出浮点数,默认情况下保留小数点后六位。 - `%.2f`:输出浮点数,小数点后保留两位。 - `%s`:输出字符串。 - `%c`:输出单个字符。 - `%x`或`%X`:输出十六进制数,`x`产生小写字母,`X`产生大写字母。 - `%p`:输出指针地址。 - `%%`:输出`%`字符。 高级用法 - 指定宽度:%5d表示输出的整数至少占5个字符宽度,如果数字位数不够,前面补空格。 - 左对齐:%-5d表示输出的整数左对齐,至少占5个字符宽度。 - 指定浮点数精度:%.3f表示输出的浮点数保留三位小数。 - 动态宽度和精度:%*.*f允许动态指定宽度和精度,这两个值由额外的参数提供。 printf("%5d\n", 123); // " 123" printf("%-5d\n", 123); // "123 " printf("%.3f\n", 3.1415926); // "3.142" ``` 注意:最后一行没满五个也要换行 ## 代码实现 ```cpp #include using namespace std; #define endl '\n' int main(){ ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int a,b;cin>>a>>b; int sum=0; int cnt=0; for(int i=a;i<=b;i++){ printf("%5d",i); sum+=i; cnt++; if(cnt%5==0) printf("\n"); } if(cnt%5!=0) printf("\n"); printf("Sum = %d",sum); return 0; } ``` ## 同类题型 ## 视频讲解 --- ⬅️ [[L1-007 念数字|L1-007 念数字]] 🏠 [[00-天梯赛]] ➡️ [[L1-009 N个数求和|L1-009 N个数求和]]